草庐IT

javascript - 反转数字的二进制值

全部标签

Ruby:计算二进制数中 1 的个数

我有一个表示为字符串“01100011....”的二进制数(52位)计算1的个数最快的方法是什么?"01100011....".count("1")显然有效,但如果此操作需要执行数千次,则非常耗时。好的,还有更多信息。我正在尝试为单词创建位向量,如下所示defbit_vec(str)alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZ'bv=""alphabet.each_chardo|a|ifstr.include?(a)bv+="1"elsebv+="0"endendbvendbit_vec方法被调用了大约17万次。我将位向量存储在哈希中,并使用它们通过对位向量

ruby - 在 Ruby 中将二进制值转换为十六进制

我有一种情况需要在Ruby中将二进制值转换为十六进制。我的情况如下:当bin="0000111"时,我的输出应该是:hex="07"。当bin="010001111"时,我的输出应该是:hex="08f"。有人可以帮我解决这个问题吗?提前致谢。 最佳答案 怎么样:>>"0x%02x"%"0000111".to_i(2)#=>"0x07">>"0x%02x"%"010001111".to_i(2)#=>"0x8f"编辑:如果您不希望输出为0x..而只是0..则省略第一个x格式字符串。 关于

ruby - 从字符串中删除所有非字母、非数字字符?

如果我想删除像这样的东西:.!,'"^-#来自一个字符串数组,我将如何在保留所有字母和数字字符的同时解决这个问题。允许的字母字符还应包括带有变音符号(包括à或ç)的字母。 最佳答案 您应该使用具有正确字符属性的正则表达式。在这种情况下,您可以反转Alnum类(字母和数字字符):"◊¡Marc-André!◊".gsub(/\p{^Alnum}/,'')#=>"MarcAndré"对于更复杂的情况,假设您还需要标点符号,您还可以构建一组可接受的字符,例如:"◊¡Marc-André!◊".gsub(/[^\p{Alnum}\p{Pun

ruby - 来自 rails 3 中 therubyracer/v8 的 javascript 错误的堆栈跟踪

我正在使用therubyracer和v8在Rails3应用程序中运行一些javascript如果出现任何问题,错误消息将通过通常的Rails3异常通知流程通过电子邮件发送给我。但是,我返回的错误消息非常模糊,堆栈跟踪不会进入javascript文件本身。这是可以理解的,但是很难调试。这是一个例子:V8::JSError:Cannotreadproperty'0'ofundefinedbacktrace:lib/libraryname.rb:32:in`function_that_calls_v8'lib/libraryname.rb:18:in`fetch_and_update'app

ruby - 如何使用 Ruby gem 通过 HTTP 请求发送二进制数据?

我正在尝试找到一种方法来重现在有效负载中发送二进制数据并设置Content-Type:binaryheader的HTTP请求,例如以下带有cURL的命令:echo-e'\x14\x00\x00\x00\x70\x69\x6e\x67\x00\x00'|curl-XPOST\-H'Content-Type:binary'\-H'Accept:*/*'\-H'Accept-Encoding:gzip,deflate,sdch'\-H'Accept-Language:en-US,en;q=0.8,pt;q=0.6'\-H'Cookie:JSESSIONID=m1q1hkaptxcqjuvru

ruby - 为什么数字不支持 .dup?

>>a=5=>5>>b="hello,world!"=>"hello,world!">>b.dup=>"hello,world!">>a.dupTypeError:can'tdupFixnumfrom(irb):4:in`dup'from(irb):4我知道每次您将整数分配给新变量时Ruby都会复制一份,但为什么Numeric#dup会引发错误?这不会破坏抽象,因为所有对象都应该正确响应.dup吗?据我所知,重写dup方法将解决问题:>>classNumeric>>defdup()>>self>>end>>end这是否有我没有看到的缺点?为什么不将其内置到Ruby中?

ruby - 如何从可能具有前导零的字符串中解析数字?

在ruby​​中,我正在解析以下格式的日期:24092008。我想将每个部分(年、月、日)转换为数字。我使用正则表达式将它们拆分,生成三个字符串,我将它们传递给Integer构造函数。date=~/^([\d]{2})([\d]{2})([\d]{4})/year=Integer($3)month=Integer($2)day=Integer($1)当它到达月份线时,它崩溃如下:`Integer':invalidvalueforInteger:"09"(ArgumentError)我花了一段时间才意识到它将前导零解释为八进制数,而09不是有效的八进制数(它与“07”一起工作正常)。是否

ruby - 检查数字是否为 NaN

我正在尝试检查我的RubyonRails应用程序中的变量是否等于NaN。我看到了这个answer,但这并不是很有用,因为在我的代码中,如果变量为NaN,我想返回0,否则返回值:return(average.nan?0:average.round(1))问题是如果数字不是NaN我会得到这个错误:NoMethodError:undefinedmethod`nan?'for10:Fixnum我无法检查该数字是否为Float实例,因为它在两种情况下都是(可能,我正在计算平均值)。我能做什么?只有我觉得奇怪的是,检查变量是否等于NaN的函数只对NaN对象可用? 最佳答

ruby-on-rails - 尽管安装了 therubyracer 和 nodejs,但找不到 JavaScript 运行时

我尝试在CentOS5上运行Rails应用程序并不断收到thiserror:CouldnotfindaJavaScriptruntime.Seehttps://github.com/sstephenson/execjsforalistofavailableruntimes.(ExecJS::RuntimeUnavailable)我同时安装了NodeJS(v0.8.15)和therubyracer(libv8)。这是我的gemlist:***LOCALGEMS***actionmailer(3.2.9,3.2.8)actionpack(3.2.9,3.2.8)activemodel(3.

ruby - 将 PKCS#8 二进制 key 加载到 Ruby 中

我正在尝试将以二进制DER格式(PKCS#8)编码的特定私钥加载到Ruby中。但是,OpenSSL::PKey无法识别它。我可以通过做一些控制台工作并将其转换为PEM来使其工作,如下所示:opensslpkcs8-informDER-infile.key-passinpass:xxxxxxxx>private_key.pem此后可以正确读取key。但是,因为我希望整个过程都在内存中完成,而不是写入和读取文件。所以我的问题是:是否可以将二进制编码的DER格式的私钥加载到Ruby/OpenSSL中?谢谢你的时间,费尔南多 最佳答案 是的